import {request }  from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
  leftlist:[],
  rightlist:[],
  cateindex:0,
  indextop:0
  },
  catelist:[],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
      
    //web本地存储和小程序的本地存储的区别
    // web中的存储  
    // web中不管你存放的是什么数据，都会给你变成字符串类型
    // web ：localStorage.setItem("key","value")  localStorage.getIten("key")
    // wx中本地储存，你存入的是什么数据类型就是什么数据类型
    // wx中的本地存储 wx.setStorage("key","value") wx.getStorage("key")
    // 1.先判断一下有没有旧数据
    // 2.没有1旧数据，直接发送新请求
  const Catelist = wx.getStorageSync("catelist")
  if(!Catelist){
    this.getsp();
  }else{
    // 有旧的数据 定义过期时间 10s
    if(Date.now() - Catelist.time>1000*10){
      // 重新发送命令
      this.getsp();
    }else{
      // 否则就使用旧的值
      this.catelist = Catelist.data;
      // 左侧的数据
      let leftlist = this.catelist.map(v=>v.cat_name)
      // 右侧的商品数据
      let rightlist = this.catelist[0].children

      this.setData({
          leftlist ,
          rightlist
      })
    }
  }
  },
// 获取分类菜单
 async  getsp(){
    // request({url:"/categories"})
    // .then(res=>{
    //      this.catelist = res.data.message
        
    //     //  把接口的数据存入到本地储存中
    //     wx.setStorageSync("catelist",{time:Date.now(),data:this.catelist})
    //     //  构造左侧的大菜单数据
    //     let leftlist = this.catelist.map(v=>v.cat_name)
    //     // 右侧的商品数据
    //     let rightlist = this.catelist[0].children

    //        this.setData({
    //         leftlist ,
    //         rightlist
    //     })
    // })

    // 使用async异步请求的最终解决方案
    const res = await request({url:"/categories"})
        this.catelist = res
         //  把接口的数据存入到本地储存中
         wx.setStorageSync("catelist",{time:Date.now(),data:this.catelist})
         //  构造左侧的大菜单数据
         let leftlist = this.catelist.map(v=>v.cat_name)
         // 右侧的商品数据
         let rightlist = this.catelist[0].children
            this.setData({
            leftlist ,
            rightlist
         })
   },
// 点击每个左侧栏菜单的选项进行数据的切换
   huoquindex(e){
      const {index} = e.currentTarget.dataset
       
      let rightlist = this.catelist[index].children
      this.setData({
        cateindex:index,
        rightlist,
        // 点击侧边栏，商品信息从顶部开始显示
        indextop:0
      })

   }
  
})